2024-10-31 22:18:21,430 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-31 22:18:23,028 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-31 22:18:23,028 - INFO - Using cuda device
2024-10-31 22:48:13,008 - INFO - Epoch: 0/100. Training time: 1417.011
2024-10-31 22:48:13,024 - INFO - Training Metrics...
2024-10-31 22:48:13,024 - INFO - {'loss': 0.8355707256077546, 'f1': 57.24557481198538, 'acc': 71.27814373544125, 'precision': 56.690738882236545, 'recall': 66.73687173290472, 'balanced acc': 66.73687173290472}
2024-10-31 22:48:13,024 - INFO - Validation Metrics... Inference time: 372.968
2024-10-31 22:48:13,024 - INFO - {'loss': 0.5520728218789194, 'f1': 69.22547827679203, 'acc': 80.20846633226935, 'precision': 66.2424601720247, 'recall': 79.5705009196972, 'balanced acc': 79.5705009196972}
2024-10-31 22:48:13,024 - INFO - ==================================================
2024-11-01 18:05:50,612 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-01 18:05:52,547 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-01 18:05:52,547 - INFO - Using cuda device
2024-11-01 18:05:52,705 - INFO - Training parameters restored at epoch 2
2024-11-01 20:08:55,337 - INFO - Epoch: 5/100. Training time: 1469.066
2024-11-01 20:08:55,349 - INFO - Training Metrics...
2024-11-01 20:08:55,349 - INFO - {'loss': 0.4668959605282751, 'f1': 70.90175472476633, 'acc': 83.65531084125712, 'precision': 68.4004279532319, 'recall': 81.60994340129515, 'balanced acc': 81.60994340129515}
2024-11-01 20:08:55,349 - INFO - Validation Metrics... Inference time: 363.642
2024-11-01 20:08:55,349 - INFO - {'loss': 0.5834004341387281, 'f1': 69.65214396763656, 'acc': 77.61848305213559, 'precision': 66.46355665076995, 'recall': 82.38040210981015, 'balanced acc': 82.38040210981015}
2024-11-01 20:08:55,349 - INFO - ==================================================
2024-11-01 22:41:21,466 - INFO - Epoch: 10/100. Training time: 1450.189
2024-11-01 22:41:21,478 - INFO - Training Metrics...
2024-11-01 22:41:21,478 - INFO - {'loss': 0.42279410009900925, 'f1': 71.63588666755606, 'acc': 84.56259308053615, 'precision': 68.54026156043133, 'recall': 82.05127743759566, 'balanced acc': 82.05127743759566}
2024-11-01 22:41:21,479 - INFO - Validation Metrics... Inference time: 364.800
2024-11-01 22:41:21,479 - INFO - {'loss': 0.5567140544162077, 'f1': 71.97456553108255, 'acc': 80.90695774433803, 'precision': 69.14457423341631, 'recall': 83.63407820855326, 'balanced acc': 83.63407820855326}
2024-11-01 22:41:21,479 - INFO - ==================================================
2024-11-04 15:40:21,286 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-04 15:40:23,132 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-04 15:40:23,132 - INFO - Using cuda device
2024-11-04 15:40:23,309 - INFO - Training parameters restored at epoch 4
2024-11-04 16:42:02,511 - INFO - Epoch: 5/100. Training time: 1473.216
2024-11-04 16:42:02,543 - INFO - Training Metrics...
2024-11-04 16:42:02,543 - INFO - {'loss': 0.46214375193483137, 'f1': 70.55007907680684, 'acc': 83.18928762363005, 'precision': 67.73191444937224, 'recall': 81.11286821355331, 'balanced acc': 81.11286821355331}
2024-11-04 16:42:02,543 - INFO - Validation Metrics... Inference time: 365.343
2024-11-04 16:42:02,543 - INFO - {'loss': 0.5074264471437416, 'f1': 72.39240776803597, 'acc': 80.13292293661651, 'precision': 71.4110775911786, 'recall': 82.60261231361876, 'balanced acc': 82.60261231361876}
2024-11-04 16:42:02,543 - INFO - ==================================================
2024-11-04 19:15:18,202 - INFO - Epoch: 10/100. Training time: 1460.756
2024-11-04 19:15:18,222 - INFO - Training Metrics...
2024-11-04 19:15:18,222 - INFO - {'loss': 0.4407719270936374, 'f1': 71.46778757265011, 'acc': 84.13964467101998, 'precision': 68.88424790949148, 'recall': 81.58125769065866, 'balanced acc': 81.58125769065866}
2024-11-04 19:15:18,222 - INFO - Validation Metrics... Inference time: 367.785
2024-11-04 19:15:18,222 - INFO - {'loss': 0.5706013347588333, 'f1': 71.0677937597084, 'acc': 80.20405836753307, 'precision': 68.67266963132528, 'recall': 82.02812894057655, 'balanced acc': 82.02812894057655}
2024-11-04 19:15:18,222 - INFO - ==================================================
2024-11-04 21:47:59,327 - INFO - Epoch: 15/100. Training time: 1435.607
2024-11-04 21:47:59,351 - INFO - Training Metrics...
2024-11-04 21:47:59,351 - INFO - {'loss': 0.41285925721887295, 'f1': 72.32240116537156, 'acc': 85.4830068354527, 'precision': 69.59726561126189, 'recall': 82.43413775293085, 'balanced acc': 82.43413775293085}
2024-11-04 21:47:59,351 - INFO - Validation Metrics... Inference time: 376.312
2024-11-04 21:47:59,351 - INFO - {'loss': 0.530386990776249, 'f1': 70.68121052179828, 'acc': 78.27825277397781, 'precision': 68.31635752843037, 'recall': 83.00503924457898, 'balanced acc': 83.00503924457898}
2024-11-04 21:47:59,351 - INFO - ==================================================
2024-11-05 00:21:24,467 - INFO - Epoch: 20/100. Training time: 1468.934
2024-11-05 00:21:24,478 - INFO - Training Metrics...
2024-11-05 00:21:24,478 - INFO - {'loss': 0.3882859945297241, 'f1': 73.65119818771652, 'acc': 85.75001432008249, 'precision': 70.74640515088241, 'recall': 83.51205557431113, 'balanced acc': 83.51205557431113}
2024-11-05 00:21:24,478 - INFO - Validation Metrics... Inference time: 371.743
2024-11-05 00:21:24,478 - INFO - {'loss': 0.5381734184190339, 'f1': 70.27542502778167, 'acc': 77.9172366621067, 'precision': 67.20640280282957, 'recall': 84.0269195242379, 'balanced acc': 84.0269195242379}
2024-11-05 00:21:24,479 - INFO - ==================================================
2024-11-05 19:52:41,940 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-05 19:52:43,845 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-05 19:52:43,846 - INFO - Using cuda device
2024-11-05 19:52:44,056 - INFO - Training parameters restored at epoch 18
2024-11-05 21:24:45,830 - INFO - Epoch: 20/100. Training time: 1461.621
2024-11-05 21:24:45,847 - INFO - Training Metrics...
2024-11-05 21:24:45,848 - INFO - {'loss': 0.39716451787596263, 'f1': 72.61653822721118, 'acc': 85.63491427043952, 'precision': 69.40096712807107, 'recall': 82.44065724982204, 'balanced acc': 82.44065724982204}
2024-11-05 21:24:45,848 - INFO - Validation Metrics... Inference time: 370.350
2024-11-05 21:24:45,848 - INFO - {'loss': 0.5041230157309887, 'f1': 73.40863526052497, 'acc': 82.29719562243501, 'precision': 70.4502773758484, 'recall': 84.67195567864249, 'balanced acc': 84.67195567864249}
2024-11-05 21:24:45,848 - INFO - ==================================================
2024-11-05 23:57:43,904 - INFO - Epoch: 25/100. Training time: 1460.418
2024-11-05 23:57:43,924 - INFO - Training Metrics...
2024-11-05 23:57:43,924 - INFO - {'loss': 0.3962463632299395, 'f1': 73.11933001950437, 'acc': 85.51191908198723, 'precision': 70.20233547086893, 'recall': 83.15862243810622, 'balanced acc': 83.15862243810622}
2024-11-05 23:57:43,924 - INFO - Validation Metrics... Inference time: 369.596
2024-11-05 23:57:43,924 - INFO - {'loss': 0.52036186059316, 'f1': 71.99700384089108, 'acc': 81.70099939200487, 'precision': 69.18947428254154, 'recall': 83.31276569358366, 'balanced acc': 83.31276569358366}
2024-11-05 23:57:43,925 - INFO - ==================================================
2024-11-06 15:13:51,269 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-06 15:13:53,039 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-06 15:13:53,039 - INFO - Using cuda device
2024-11-06 15:13:53,304 - INFO - Training parameters restored at epoch 21
2024-11-06 17:47:13,845 - INFO - Epoch: 25/100. Training time: 1475.864
2024-11-06 17:47:13,869 - INFO - Training Metrics...
2024-11-06 17:47:13,869 - INFO - {'loss': 0.3821370255917751, 'f1': 73.92589123381138, 'acc': 86.37839385954862, 'precision': 70.54967015411697, 'recall': 83.30083304144445, 'balanced acc': 83.30083304144445}
2024-11-06 17:47:13,869 - INFO - Validation Metrics... Inference time: 366.021
2024-11-06 17:47:13,869 - INFO - {'loss': 0.5417928310001597, 'f1': 71.84914643178453, 'acc': 80.18961848305214, 'precision': 69.99206429003416, 'recall': 83.4862419149521, 'balanced acc': 83.4862419149521}
2024-11-06 17:47:13,869 - INFO - ==================================================
2024-11-06 20:20:42,149 - INFO - Epoch: 30/100. Training time: 1473.465
2024-11-06 20:20:42,200 - INFO - Training Metrics...
2024-11-06 20:20:42,200 - INFO - {'loss': 0.38337976826822817, 'f1': 73.73189927562656, 'acc': 86.7932275556574, 'precision': 71.192568285556, 'recall': 82.0565932639225, 'balanced acc': 82.0565932639225}
2024-11-06 20:20:42,200 - INFO - Validation Metrics... Inference time: 367.090
2024-11-06 20:20:42,200 - INFO - {'loss': 0.5401916252631768, 'f1': 71.60482875026325, 'acc': 80.35244718042257, 'precision': 68.24132978164982, 'recall': 84.3791751247692, 'balanced acc': 84.3791751247692}
2024-11-06 20:20:42,200 - INFO - ==================================================
2024-11-06 22:54:10,032 - INFO - Epoch: 35/100. Training time: 1471.888
2024-11-06 22:54:10,045 - INFO - Training Metrics...
2024-11-06 22:54:10,045 - INFO - {'loss': 0.3836570898887559, 'f1': 73.63797133111777, 'acc': 86.70690609844578, 'precision': 70.41400649621225, 'recall': 82.33286778681384, 'balanced acc': 82.33286778681384}
2024-11-06 22:54:10,045 - INFO - Validation Metrics... Inference time: 367.794
2024-11-06 22:54:10,046 - INFO - {'loss': 0.4971007535270616, 'f1': 72.16538909315909, 'acc': 80.27576379388965, 'precision': 69.99762068741391, 'recall': 83.55467573353995, 'balanced acc': 83.55467573353995}
2024-11-06 22:54:10,046 - INFO - ==================================================
2024-11-07 14:58:46,147 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-07 14:58:48,107 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-07 14:58:48,107 - INFO - Using cuda device
2024-11-07 14:58:48,224 - INFO - Training parameters restored at epoch 28
2024-11-07 16:30:40,186 - INFO - Epoch: 30/100. Training time: 1452.129
2024-11-07 16:30:40,204 - INFO - Training Metrics...
2024-11-07 16:30:40,204 - INFO - {'loss': 0.38595930769525727, 'f1': 73.3192614868451, 'acc': 86.22412838431283, 'precision': 70.15493943105147, 'recall': 82.4692187851811, 'balanced acc': 82.4692187851811}
2024-11-07 16:30:40,204 - INFO - Validation Metrics... Inference time: 368.414
2024-11-07 16:30:40,205 - INFO - {'loss': 0.5086476890479817, 'f1': 72.38564844894823, 'acc': 80.41837665298678, 'precision': 70.46952942984642, 'recall': 83.9469031954043, 'balanced acc': 83.9469031954043}
2024-11-07 16:30:40,205 - INFO - ==================================================
2024-11-07 19:03:34,940 - INFO - Epoch: 35/100. Training time: 1461.373
2024-11-07 19:03:34,985 - INFO - Training Metrics...
2024-11-07 19:03:34,986 - INFO - {'loss': 0.38672102760211585, 'f1': 73.22471700984626, 'acc': 85.50400962309543, 'precision': 70.117948733213, 'recall': 83.08263979536092, 'balanced acc': 83.08263979536092}
2024-11-07 19:03:34,986 - INFO - Validation Metrics... Inference time: 371.646
2024-11-07 19:03:34,986 - INFO - {'loss': 0.5077528322444242, 'f1': 72.0192372872516, 'acc': 81.06585347317221, 'precision': 69.85737232516273, 'recall': 83.33558928563525, 'balanced acc': 83.33558928563525}
2024-11-07 19:03:34,986 - INFO - ==================================================
2024-11-07 21:37:01,050 - INFO - Epoch: 40/100. Training time: 1469.377
2024-11-07 21:37:01,106 - INFO - Training Metrics...
2024-11-07 21:37:01,106 - INFO - {'loss': 0.3784766595058253, 'f1': 74.08348533435007, 'acc': 86.26287852751366, 'precision': 70.74673168600599, 'recall': 83.95703548514103, 'balanced acc': 83.95703548514103}
2024-11-07 21:37:01,106 - INFO - Validation Metrics... Inference time: 372.071
2024-11-07 21:37:01,106 - INFO - {'loss': 0.474196442786385, 'f1': 72.80304964136567, 'acc': 81.56938744490044, 'precision': 70.7824053922024, 'recall': 83.02102081414729, 'balanced acc': 83.02102081414729}
2024-11-07 21:37:01,106 - INFO - ==================================================
2024-11-08 00:09:51,220 - INFO - Epoch: 45/100. Training time: 1464.940
2024-11-08 00:09:51,252 - INFO - Training Metrics...
2024-11-08 00:09:51,252 - INFO - {'loss': 0.37617994925658693, 'f1': 73.72500046126174, 'acc': 85.95474853935161, 'precision': 70.48249262175143, 'recall': 84.11906333102597, 'balanced acc': 84.11906333102597}
2024-11-08 00:09:51,252 - INFO - Validation Metrics... Inference time: 364.550
2024-11-08 00:09:51,252 - INFO - {'loss': 0.5343026185736937, 'f1': 72.1984827014577, 'acc': 81.45975832193342, 'precision': 68.52346463662344, 'recall': 84.46382525290097, 'balanced acc': 84.46382525290097}
2024-11-08 00:09:51,252 - INFO - ==================================================
2024-11-13 17:19:49,817 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-13 17:19:51,857 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-13 17:19:51,857 - INFO - Using cuda device
2024-11-13 17:19:52,007 - INFO - Training parameters restored at epoch 30
2024-11-13 17:50:56,255 - INFO - Epoch: 30/100. Training time: 1484.020
2024-11-13 17:50:56,273 - INFO - Training Metrics...
2024-11-13 17:50:56,273 - INFO - {'loss': 0.38347796765454295, 'f1': 73.99154629415222, 'acc': 86.78480734715698, 'precision': 71.03871320690465, 'recall': 82.83004819648399, 'balanced acc': 82.83004819648399}
2024-11-13 17:50:56,273 - INFO - Validation Metrics... Inference time: 380.227
2024-11-13 17:50:56,273 - INFO - {'loss': 0.5663587170488694, 'f1': 69.71813867019428, 'acc': 77.01202690378477, 'precision': 67.35062957332113, 'recall': 83.37959865376314, 'balanced acc': 83.37959865376314}
2024-11-13 17:50:56,273 - INFO - ==================================================
2024-11-13 20:23:30,980 - INFO - Epoch: 35/100. Training time: 1469.792
2024-11-13 20:23:30,998 - INFO - Training Metrics...
2024-11-13 20:23:30,999 - INFO - {'loss': 0.3774498568967058, 'f1': 73.6026004886274, 'acc': 85.99768969335929, 'precision': 70.63689700872577, 'recall': 83.48013866581833, 'balanced acc': 83.48013866581833}
2024-11-13 20:23:30,999 - INFO - Validation Metrics... Inference time: 369.702
2024-11-13 20:23:30,999 - INFO - {'loss': 0.48537905777201934, 'f1': 72.31953846743737, 'acc': 81.12792597659218, 'precision': 68.97707495514956, 'recall': 84.48384009374459, 'balanced acc': 84.48384009374459}
2024-11-13 20:23:30,999 - INFO - ==================================================
2024-11-13 22:55:58,237 - INFO - Epoch: 40/100. Training time: 1454.502
2024-11-13 22:55:58,256 - INFO - Training Metrics...
2024-11-13 22:55:58,256 - INFO - {'loss': 0.37477672511133653, 'f1': 73.47952035351688, 'acc': 85.75799060602588, 'precision': 70.1952494610799, 'recall': 83.41946585562718, 'balanced acc': 83.41946585562718}
2024-11-13 22:55:58,256 - INFO - Validation Metrics... Inference time: 368.318
2024-11-13 22:55:58,256 - INFO - {'loss': 0.44577081472265956, 'f1': 73.9273061764633, 'acc': 82.96948624411004, 'precision': 70.73409088677874, 'recall': 84.83926658342993, 'balanced acc': 84.83926658342993}
2024-11-13 22:55:58,256 - INFO - ==================================================
2024-11-14 17:55:04,449 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-14 17:55:06,147 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-14 17:55:06,147 - INFO - Using cuda device
2024-11-14 17:55:06,338 - INFO - Training parameters restored at epoch 43
2024-11-14 19:27:22,449 - INFO - Epoch: 45/100. Training time: 1464.629
2024-11-14 19:27:22,494 - INFO - Training Metrics...
2024-11-14 19:27:22,494 - INFO - {'loss': 0.36862853316250693, 'f1': 73.77889808635408, 'acc': 86.16064745866271, 'precision': 70.7568911787163, 'recall': 82.98306278460701, 'balanced acc': 82.98306278460701}
2024-11-14 19:27:22,494 - INFO - Validation Metrics... Inference time: 374.945
2024-11-14 19:27:22,494 - INFO - {'loss': 0.5357919311990925, 'f1': 72.1360930516054, 'acc': 79.26538987688099, 'precision': 70.70558135336623, 'recall': 84.22407240360843, 'balanced acc': 84.22407240360843}
2024-11-14 19:27:22,495 - INFO - ==================================================
2024-11-14 22:00:22,976 - INFO - Epoch: 50/100. Training time: 1471.674
2024-11-14 22:00:22,995 - INFO - Training Metrics...
2024-11-14 22:00:22,995 - INFO - {'loss': 0.3706412291879137, 'f1': 73.87303027293791, 'acc': 85.75598579447818, 'precision': 70.91130480383725, 'recall': 83.75304824692061, 'balanced acc': 83.75304824692061}
2024-11-14 22:00:22,995 - INFO - Validation Metrics... Inference time: 368.865
2024-11-14 22:00:22,996 - INFO - {'loss': 0.4834956228733063, 'f1': 73.45796066358987, 'acc': 82.47083523331811, 'precision': 70.58790910325374, 'recall': 84.6384741142743, 'balanced acc': 84.6384741142743}
2024-11-14 22:00:22,996 - INFO - ==================================================
2024-11-15 00:32:58,205 - INFO - Epoch: 55/100. Training time: 1441.978
2024-11-15 00:32:58,264 - INFO - Training Metrics...
2024-11-15 00:32:58,264 - INFO - {'loss': 0.36329961755299217, 'f1': 74.27538936812647, 'acc': 86.16552106006796, 'precision': 70.99461253498419, 'recall': 84.77986088688787, 'balanced acc': 84.77986088688787}
2024-11-15 00:32:58,264 - INFO - Validation Metrics... Inference time: 369.759
2024-11-15 00:32:58,264 - INFO - {'loss': 0.42217593274864496, 'f1': 75.37996439253324, 'acc': 84.07881136950904, 'precision': 73.17832603627251, 'recall': 84.60810254379861, 'balanced acc': 84.60810254379861}
2024-11-15 00:32:58,264 - INFO - ==================================================
2024-11-15 15:49:51,235 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-15 15:49:53,167 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-15 15:49:53,167 - INFO - Using cuda device
2024-11-15 15:49:53,367 - INFO - Training parameters restored at epoch 56
2024-11-15 18:23:39,423 - INFO - Epoch: 60/100. Training time: 1468.884
2024-11-15 18:23:39,460 - INFO - Training Metrics...
2024-11-15 18:23:39,461 - INFO - {'loss': 0.3569681820611061, 'f1': 75.1186511593314, 'acc': 87.1423845801352, 'precision': 71.67250651651469, 'recall': 84.63278805020471, 'balanced acc': 84.63278805020471}
2024-11-15 18:23:39,461 - INFO - Validation Metrics... Inference time: 367.891
2024-11-15 18:23:39,461 - INFO - {'loss': 0.4875200589497884, 'f1': 72.7367478640898, 'acc': 80.72167122663018, 'precision': 70.04211096253786, 'recall': 84.96196135312142, 'balanced acc': 84.96196135312142}
2024-11-15 18:23:39,461 - INFO - ==================================================
2024-11-15 20:56:27,182 - INFO - Epoch: 65/100. Training time: 1463.272
2024-11-15 20:56:27,219 - INFO - Training Metrics...
2024-11-15 20:56:27,219 - INFO - {'loss': 0.3537313071964997, 'f1': 74.67815152372631, 'acc': 87.06950968037575, 'precision': 71.94714075445813, 'recall': 83.47735961647328, 'balanced acc': 83.47735961647328}
2024-11-15 20:56:27,219 - INFO - Validation Metrics... Inference time: 367.646
2024-11-15 20:56:27,230 - INFO - {'loss': 0.5099016977291481, 'f1': 72.13609380455483, 'acc': 79.79176166590666, 'precision': 69.72333633988578, 'recall': 85.01773070124358, 'balanced acc': 85.01773070124358}
2024-11-15 20:56:27,230 - INFO - ==================================================
2024-11-15 23:29:19,503 - INFO - Epoch: 70/100. Training time: 1477.389
2024-11-15 23:29:19,515 - INFO - Training Metrics...
2024-11-15 23:29:19,515 - INFO - {'loss': 0.3564413915126782, 'f1': 74.52525628901309, 'acc': 87.16148757016839, 'precision': 71.28661693465492, 'recall': 83.4118363085516, 'balanced acc': 83.4118363085516}
2024-11-15 23:29:19,516 - INFO - Validation Metrics... Inference time: 368.975
2024-11-15 23:29:19,516 - INFO - {'loss': 0.4681934761066063, 'f1': 72.8638004620821, 'acc': 80.52787277701779, 'precision': 71.24221535869452, 'recall': 84.19370011471416, 'balanced acc': 84.19370011471416}
2024-11-15 23:29:19,516 - INFO - ==================================================
2024-11-18 15:21:43,497 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-18 15:21:45,255 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-18 15:21:45,255 - INFO - Using cuda device
2024-11-18 15:21:45,392 - INFO - Training parameters restored at epoch 69
2024-11-18 16:23:06,995 - INFO - Epoch: 70/100. Training time: 1463.456
2024-11-18 16:23:07,036 - INFO - Training Metrics...
2024-11-18 16:23:07,036 - INFO - {'loss': 0.35659464650553435, 'f1': 73.52895533044041, 'acc': 85.61813590712947, 'precision': 70.39650223556558, 'recall': 84.01089932818415, 'balanced acc': 84.01089932818415}
2024-11-18 16:23:07,036 - INFO - Validation Metrics... Inference time: 367.789
2024-11-18 16:23:07,036 - INFO - {'loss': 0.4593520386546266, 'f1': 73.99301891102937, 'acc': 82.83181334549322, 'precision': 71.20961902165158, 'recall': 84.8172480866565, 'balanced acc': 84.8172480866565}
2024-11-18 16:23:07,036 - INFO - ==================================================
2024-11-18 18:55:19,026 - INFO - Epoch: 75/100. Training time: 1460.950
2024-11-18 18:55:19,049 - INFO - Training Metrics...
2024-11-18 18:55:19,050 - INFO - {'loss': 0.35089239360663693, 'f1': 74.50029939145828, 'acc': 86.42152594798947, 'precision': 71.38427626996602, 'recall': 84.57471483912781, 'balanced acc': 84.57471483912781}
2024-11-18 18:55:19,050 - INFO - Validation Metrics... Inference time: 367.233
2024-11-18 18:55:19,050 - INFO - {'loss': 0.4852833292063545, 'f1': 73.28288176253602, 'acc': 81.50254597963217, 'precision': 70.18003065768704, 'recall': 85.34579765811432, 'balanced acc': 85.34579765811432}
2024-11-18 18:55:19,050 - INFO - ==================================================
2024-11-18 21:28:15,195 - INFO - Epoch: 80/100. Training time: 1467.418
2024-11-18 21:28:15,228 - INFO - Training Metrics...
2024-11-18 21:28:15,228 - INFO - {'loss': 0.360408730988432, 'f1': 74.19158711952376, 'acc': 86.54416790774047, 'precision': 71.18125198540423, 'recall': 84.34410640591915, 'balanced acc': 84.34410640591915}
2024-11-18 21:28:15,252 - INFO - Validation Metrics... Inference time: 365.766
2024-11-18 21:28:15,252 - INFO - {'loss': 0.5147013109104306, 'f1': 72.34375958302773, 'acc': 80.6497758017936, 'precision': 69.31014501431267, 'recall': 84.95126219949285, 'balanced acc': 84.95126219949285}
2024-11-18 21:28:15,252 - INFO - ==================================================
2024-11-19 00:00:53,570 - INFO - Epoch: 85/100. Training time: 1464.243
2024-11-19 00:00:53,588 - INFO - Training Metrics...
2024-11-19 00:00:53,588 - INFO - {'loss': 0.35448728230199206, 'f1': 74.9019777354251, 'acc': 86.80538053232519, 'precision': 71.91236376625389, 'recall': 84.558769514442, 'balanced acc': 84.558769514442}
2024-11-19 00:00:53,588 - INFO - Validation Metrics... Inference time: 367.355
2024-11-19 00:00:53,588 - INFO - {'loss': 0.48936784910220726, 'f1': 72.06434100967294, 'acc': 79.26276789785682, 'precision': 69.69284009943586, 'recall': 84.81526699232408, 'balanced acc': 84.81526699232408}
2024-11-19 00:00:53,588 - INFO - ==================================================
2024-11-19 15:39:53,731 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-11-19 15:39:55,825 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-11-19 15:39:55,826 - INFO - Using cuda device
2024-11-19 15:39:55,978 - INFO - Training parameters restored at epoch 82
2024-11-19 17:43:19,913 - INFO - Epoch: 85/100. Training time: 1476.293
2024-11-19 17:43:19,946 - INFO - Training Metrics...
2024-11-19 17:43:19,946 - INFO - {'loss': 0.35112340227136474, 'f1': 74.74818053652423, 'acc': 86.71601844426625, 'precision': 71.3840929790878, 'recall': 85.26039425124743, 'balanced acc': 85.26039425124743}
2024-11-19 17:43:19,946 - INFO - Validation Metrics... Inference time: 370.997
2024-11-19 17:43:19,946 - INFO - {'loss': 0.493940311904047, 'f1': 72.3121790234385, 'acc': 80.66569767441861, 'precision': 68.57321482703817, 'recall': 85.07134453867198, 'balanced acc': 85.07134453867198}
2024-11-19 17:43:19,946 - INFO - ==================================================
2024-11-19 20:16:09,296 - INFO - Epoch: 90/100. Training time: 1456.022
2024-11-19 20:16:09,322 - INFO - Training Metrics...
2024-11-19 20:16:09,322 - INFO - {'loss': 0.34788287273181484, 'f1': 73.68455570036483, 'acc': 86.09986348188032, 'precision': 70.24060409488128, 'recall': 84.2199322011093, 'balanced acc': 84.2199322011093}
2024-11-19 20:16:09,322 - INFO - Validation Metrics... Inference time: 367.998
2024-11-19 20:16:09,322 - INFO - {'loss': 0.511449498873131, 'f1': 73.01773107399498, 'acc': 80.16102371181032, 'precision': 70.83978907694856, 'recall': 85.49381427884146, 'balanced acc': 85.49381427884146}
2024-11-19 20:16:09,322 - INFO - ==================================================
2024-11-19 22:48:54,980 - INFO - Epoch: 95/100. Training time: 1468.645
2024-11-19 22:48:54,992 - INFO - Training Metrics...
2024-11-19 22:48:54,992 - INFO - {'loss': 0.34362461208709943, 'f1': 74.66385571004558, 'acc': 86.71947913086647, 'precision': 71.49225110369699, 'recall': 84.8296858394688, 'balanced acc': 84.8296858394688}
2024-11-19 22:48:54,996 - INFO - Validation Metrics... Inference time: 361.326
2024-11-19 22:48:54,996 - INFO - {'loss': 0.4610309904696895, 'f1': 73.81008931885205, 'acc': 82.13227694178448, 'precision': 70.80208544903252, 'recall': 85.8107334646139, 'balanced acc': 85.8107334646139}
2024-11-19 22:48:54,996 - INFO - ==================================================
2024-11-20 00:57:25,478 - INFO - Final test metrics:
{'f1': 74.66459513836266, 'acc': 83.16835765313878, 'precision': 70.60759541431759, 'recall': 85.96102974784907, 'balanced acc': 85.96102974784907}
